﻿using SanJ.FreeCare.ValueSets;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp;
using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.MultiTenancy;

namespace SanJ.FreeCare.CodeSystems
{
    public class CodeSystem : AuditedAggregateRoot<Guid>, IMultiTenant, ISoftDelete
    {
        /// <summary>
        /// 树状编码  00001.00042.00005".
        /// </summary>
        public string Code { get; set; }

        /// <summary>
        /// draft | active | retired | unknown
        /// </summary>
        public string Status { get; set; }

        /// <summary>
        /// 版本号
        /// </summary>
        public string Version { get; set; }

        /// <summary>
        /// 是否试用
        /// </summary>
        public bool Dxperimental { get; set; }

        /// <summary>
        /// 拼音首字母
        /// </summary>
        public string? Spell { get; set; }

        /// <summary>
        /// 描述
        /// </summary>
        public string? Description { get; set; }

        /// <summary>
        /// 显示顺序
        /// </summary>
        public int? DisplayOrder { get; set; }

        /// <summary>
        /// 包含的概念
        /// </summary>
        public List<CodeConcept> CodeConcepts { get; set; }

        /// <summary>
        /// 机构
        /// </summary>
        public Guid? ManagingOrganizationId { get; set; }

        /// <summary>
        /// 机构code
        /// </summary>
        public string? ManagingOrganizationCode { get; set; }

        public bool IsDeleted { get; set; }

        public Guid? TenantId { get; set; }

        public CodeSystem()
        {

        }

    }
}
